package com.xingyun.kingdee.erp.common.model.param.opt.content;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.Valid;
import java.util.List;

/**
 * @author Lingo
 */

@Setter
@Getter
@ToString
public class ErpSaveFormParamContent<T>{
    @ApiModelProperty(value = "创建者内码（非必录）")
    private String creator;

    @ApiModelProperty(value = "需要更新的字段，数组类型，格式：[key1,key2,...] （非必录）")
    private List<String> needUpDateFields;

    @ApiModelProperty(value = "需返回结果的字段集合，数组类型，格式：[key,entitykey.key,...]（非必录） 注（返回单据体字段格式：entitykey.key）")
    private List<String> needReturnFields;

    @ApiModelProperty(value = "是否删除已存在的分录，布尔类型，默认true（非必录）")
    private Boolean isDeleteEntry;

    @ApiModelProperty(value = "表单所在的子系统内码，字符串类型（非必录）")
    private String subSystemId;

    @ApiModelProperty(value = "是否验证所有的基础资料有效性，布尔类，默认false")
    private Boolean isVerifyBaseDataField;

    @ApiModelProperty(value = "是否批量填充分录，默认true（非必录）")
    private Boolean isEntryBatchFill;

    @ApiModelProperty(value = "是否验证标志，布尔类型，默认true（非必录）")
    private Boolean validateFlag;

    @ApiModelProperty(value = "是否用编码搜索基础资料，布尔类型，默认true（非必录）")
    private Boolean numberSearch;

    @ApiModelProperty(value = "交互标志集合，字符串类型，分号分隔，格式：\"flag1;flag2;...\"（非必录）")
    private String interationFlags;

    @ApiModelProperty(value = "是否自动提交与审核，布尔类型，默认false（非必录）")
    private Boolean isAutoSubmitAndAudit;

    @ApiModelProperty(value = "业务对象",required = true)
    @Valid
    private T model;
}